home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / dsptrd.z / dsptrd
Text File  |  1996-03-14  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDSSSSPPPPTTTTRRRRDDDD((((3333FFFF))))                                                          DDDDSSSSPPPPTTTTRRRRDDDD((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DSPTRD - reduce a real symmetric matrix A stored in packed form to
  10.      symmetric tridiagonal form T by an orthogonal similarity transformation
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE DSPTRD( UPLO, N, AP, D, E, TAU, INFO )
  14.  
  15.          CHARACTER      UPLO
  16.  
  17.          INTEGER        INFO, N
  18.  
  19.          DOUBLE         PRECISION AP( * ), D( * ), E( * ), TAU( * )
  20.  
  21. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  22.      DSPTRD reduces a real symmetric matrix A stored in packed form to
  23.      symmetric tridiagonal form T by an orthogonal similarity transformation:
  24.      Q**T * A * Q = T.
  25.  
  26.  
  27. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  28.      UPLO    (input) CHARACTER*1
  29.              = 'U':  Upper triangle of A is stored;
  30.              = 'L':  Lower triangle of A is stored.
  31.  
  32.      N       (input) INTEGER
  33.              The order of the matrix A.  N >= 0.
  34.  
  35.      AP      (input/output) DOUBLE PRECISION array, dimension (N*(N+1)/2)
  36.              On entry, the upper or lower triangle of the symmetric matrix A,
  37.              packed columnwise in a linear array.  The j-th column of A is
  38.              stored in the array AP as follows:  if UPLO = 'U', AP(i + (j-
  39.              1)*j/2) = A(i,j) for 1<=i<=j; if UPLO = 'L', AP(i + (j-1)*(2*n-
  40.              j)/2) = A(i,j) for j<=i<=n.  On exit, if UPLO = 'U', the diagonal
  41.              and first superdiagonal of A are overwritten by the corresponding
  42.              elements of the tridiagonal matrix T, and the elements above the
  43.              first superdiagonal, with the array TAU, represent the orthogonal
  44.              matrix Q as a product of elementary reflectors; if UPLO = 'L',
  45.              the diagonal and first subdiagonal of A are over- written by the
  46.              corresponding elements of the tridiagonal matrix T, and the
  47.              elements below the first subdiagonal, with the array TAU,
  48.              represent the orthogonal matrix Q as a product of elementary
  49.              reflectors. See Further Details.  D       (output) DOUBLE
  50.              PRECISION array, dimension (N) The diagonal elements of the
  51.              tridiagonal matrix T:  D(i) = A(i,i).
  52.  
  53.      E       (output) DOUBLE PRECISION array, dimension (N-1)
  54.              The off-diagonal elements of the tridiagonal matrix T:  E(i) =
  55.              A(i,i+1) if UPLO = 'U', E(i) = A(i+1,i) if UPLO = 'L'.
  56.  
  57.      TAU     (output) DOUBLE PRECISION array, dimension (N-1)
  58.              The scalar factors of the elementary reflectors (see Further
  59.              Details).
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDSSSSPPPPTTTTRRRRDDDD((((3333FFFF))))                                                          DDDDSSSSPPPPTTTTRRRRDDDD((((3333FFFF))))
  71.  
  72.  
  73.  
  74.      INFO    (output) INTEGER
  75.              = 0:  successful exit
  76.              < 0:  if INFO = -i, the i-th argument had an illegal value
  77.  
  78. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  79.      If UPLO = 'U', the matrix Q is represented as a product of elementary
  80.      reflectors
  81.  
  82.         Q = H(n-1) . . . H(2) H(1).
  83.  
  84.      Each H(i) has the form
  85.  
  86.         H(i) = I - tau * v * v'
  87.  
  88.      where tau is a real scalar, and v is a real vector with
  89.      v(i+1:n) = 0 and v(i) = 1; v(1:i-1) is stored on exit in AP, overwriting
  90.      A(1:i-1,i+1), and tau is stored in TAU(i).
  91.  
  92.      If UPLO = 'L', the matrix Q is represented as a product of elementary
  93.      reflectors
  94.  
  95.         Q = H(1) H(2) . . . H(n-1).
  96.  
  97.      Each H(i) has the form
  98.  
  99.         H(i) = I - tau * v * v'
  100.  
  101.      where tau is a real scalar, and v is a real vector with
  102.      v(1:i) = 0 and v(i+1) = 1; v(i+2:n) is stored on exit in AP, overwriting
  103.      A(i+2:n,i), and tau is stored in TAU(i).
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.